Evaluation Guide

From RidgeRun Developer Wiki

Follow Us On Twitter LinkedIn Email Share this page









If you have any problems or questions, please contact RidgeRun.




RidgeRun Immersive Teleoperation is offered as an open-source project. The project makes use of several of our products that you can evaluate for free at any time. Follow this process to evaluate the application.

Hardware Requirements

UGV Rover IMX477 Camera Setup
UGV Rover IMX477 Camera Setup


Info
The setup uses a 15 to 22-pin adapter to connect the IMX477 to the Orin NX (a 15 to 22-pin cable can be used). A 30cm (12 in) cable is recommended.


Info
Please Contact Us if you want to evaluate RidgeRun Immersive Teleoperation with a different setup.


Evaluation Process

1. Go to this link and download teleop-eval-jetson-orin-JP6.1.tar and teleop.apk.

The file teleop-eval-jetson-orin-JP6.1.tar is the Immersive Teleoperation Evaluation Bundle. The package contains evaluation versions of all of the following RidgeRun products used in the demo:

The file teleop.apk is the evaluation version of our the Meta Quest application for immersive teleoperation.


Info
All products are limited to a running time of ~20min


2. Flash your Orin NX devkit with Jetpack 6.


Info

After flashing your board, for a better performance, it is recommended to set your board to Max Power Mode. You can do it by running these commands:

1. Check current mode:

sudo nvpmodel -q

2. Set MAXN mode (usually 0)

sudo nvpmodel -m 0

3. Run Jetson Clocks

sudo jetson_clocks


3. Once your board is flashed, from your board, clone the RidgeRun Immersive Teleoperation project:

git clone https://github.com/RidgeRun/ridgerun-immersive-teleoperation.git

4. Put the evaluation bundle you downloaded in step 1 in the root of the project. Your project should look like this:

   # ridgerun-immersive-teleoperation/
   # ├─ docker-compose.yaml
   # ├─ docker/
   # ├─ docker-compose.perf.yaml
   # ├─ teleop-jetson-orin-JP6.1.tar    # Your Evaluation Bundle
   # ├─ rr-workspace/
   # └─ web/
   #    └─ src/ ...

5. Generate the Jetson-specific .env file (SOC, DISTRO, CUDA, HOST_UID, HOST_GID):

chmod +x scripts/generate-jetson-env.sh
scripts/generate-jetson-env.sh

6. Export user/group ids for correct file ownership inside the container if you prefer manual overrides:

export HOST_UID=$(id -u)
export HOST_GID=$(id -g)

7. Build the images:

docker compose build rr_teleop

8. Start the container (detached):

The `docker-compose.yaml` file defines several environment variables required by the teleoperations application. In most cases, the defaults are enough.

TELEOP_ADVERTISED_IP=192.168.86.27
TELEOP_COMMAND_PORT=8081
TELEOP_RTSP_ENABLE=true
TELEOP_RTSP_PORT=5555
TELEOP_RTSP_MAPPING=stream
TELEOP_RTSP_FRAMERATE=30/1

The only setting you typically need to change is TELEOP_ADVERTISED_IP (the robot's IP address on your network). Override any of these at runtime before starting the container. A typical command would be:

TELEOP_ADVERTISED_IP=<Your robot IP address> docker compose up -d

9. Attach to the container

docker compose exec --user admin rr_teleop bash

10 Start the teleoperation application

/usr/local/bin/teleop-launch.sh


Info
The environment variables defined in docker-compose.yaml are used by the teleop-launch.sh script so you can also override them at this point.


Robot Operation

1. Follow these steps to setup the web application and the Meta Quest application for robot operation.

2. Follow this guide for the Meta Quest application usage.

3. Follow this guide for the web application usage.

FAQ

Q1) Can Immersive Teleoperation be evaluated on other SoC?

The binaries provided in this guide were generated for the Orin NX devkit with Jetpack 6. Likely you will find errors if you attempt to use them with a different SoC. Please contact us if you would like to evaluate for other SoC / OS version.


Q2) Can the user interface be extended with additional controls?

Yes, feel free to send an inquiry with your requirements to support@ridgerun.com.